package model

import (
	"choujiang/common/db"
)

type Coupon struct {
	Id         int64  `xorm:"INT(11) not null pk autoincr" json:"id"`
	UserId     int64  `xorm:"INT(11) not null default 0" json:"user_id"`
	UniqueId   string `xorm:"VARCHAR(50)" json:"unique_id"`
	DlId       int64  `xorm:"INT(11) not null default 0" json:"dl_id"`
	GiftId     int64  `xorm:"INT(3) not null default 0" json:"gift_id"`
	QrCodeUrl  string `xorm:"VARCHAR(255)" json:"qr_code_url"`
	QrCodeText string `xorm:"VARCHAR(255)" json:"qr_code_text"`
	Status     int64  `xorm:"INT(3) not null default 0" json:"status"`
	StartAt    int64  `xorm:"INT(11) not null default 0" json:"start_at"`
	EndAt      int64  `xorm:"INT(11) not null default 0" json:"end_at"`
	ExchangeAt int64  `xorm:"INT(11) not null default 0" json:"exchange_at"`
	Comment    string `xorm:"VARCHAR(255)" json:"comment"`

	CreatedAt int64 `xorm:"not null default 0 INT(11) created" json:"created_at"`
	UpdatedAt int64 `xorm:"not null default 0 INT(11) updated" json:"updated_at"`
}

func (u *Coupon) Insert() (*Coupon, error) {
	_, err := db.MysqlEngine.InsertOne(u)
	return u, err
}

func (u *Coupon) Update() (*Coupon, error) {
	_, err := db.MysqlEngine.ID(u.Id).Update(u)
	return u, err
}
